import { Agg, SQSSVisitor } from "../visitor"; import { AndExpression, EqualExpression, FieldSelector, FuncCallExpression, IsExpression, JoinClause, LikeExpression, OrExpression, SqssNode, SqssStyleSheet, StyleAssignment, UpdateStatement } from "./ast"; declare type SAAgg = Agg; export declare type SAContext = { joinTableAliases?: string[]; }; export default class SemanticAnalyzer implements SQSSVisitor { postVisitSqssStyleSheet(node: SqssStyleSheet, context: SAContext, data: SAAgg): void; postVisitUpdateStatement(node: UpdateStatement, context: SAContext, data: SAAgg): void; postVisitJoinClause(node: JoinClause, context: SAContext, data: SAAgg): void; postVisitStyleAssignment(node: StyleAssignment, context: SAContext, data: SAAgg): void; postVisitAndExpression(node: AndExpression, context: SAContext, data: SAAgg): void; postVisitOrExpression(node: OrExpression, context: SAContext, data: SAAgg): void; postVisitEqualExpression(node: EqualExpression, context: SAContext, data: SAAgg): void; postVisitLikeExpression(node: LikeExpression, context: SAContext, data: SAAgg): void; postVisitIsExpression(node: IsExpression, context: SAContext, data: SAAgg): void; postVisitFieldSelector(node: FieldSelector, context: SAContext, data: SAAgg): void; private static validateIdentifier; postVisitFuncCallExpression(node: FuncCallExpression, context: SAContext, data: SAAgg): void; } export {};